# 1.导入fastAPI模块
from fastapi import FastAPI

# 2.FastAPI对象创建（实例化）
app = FastAPI(
    title="用户管理系统",
    description="用户管理系统接口文档",
    version="1.0.0")


# 3.创建路由函数
# @app.get("路由地址")--- 路由函数的装饰器
# async def index(): ---异步 路由函数
# async --- 异步
@app.get("/", tags=["根路由"])  # 根路由地址
async def index():
    return {"message": "Hello World"}


@app.get("/userinfo/{username}/{id}", tags=["用户信息查询路由"])
async def userInfo(username: str, id: int, age: int):
    name = "当前用户名是：" + username
    userid = "当前用户名的id是：" + str(id)
    useAge = "当前用户名的年龄是：" + str(age)
    return {
        "message": "用户信息",
        "username": name,
        "id": userid,
        "age": useAge
    }


@app.post("/list", tags=["用户列表信息添加路由"])
async def userList():
    return {"message": "用户列表信息"}


@app.put("/update", tags=["用户更新路由"])
async def updateInfo():
    return {"message": "更新用户信息信息"}


@app.delete("/delete", tags=["用户删除路由"])
async def deleteInfo():
    return {"message": "删除用户信息信息"}


# 4.启动fastAPI服务
if __name__ == '__main__':
    # 导入ASGI服务器模块
    import uvicorn

    # uvicorn.run(当前应用对象, host="域名地址", port=端口号)
    uvicorn.run(app, host="127.0.0.1", port=8000)
